home *** CD-ROM | disk | FTP | other *** search
/ Shareware Grab Bag / Shareware Grab Bag.iso / 019 / ratio16a.arc / RSB1-RAT.MRG < prev    next >
Encoding:
Text File  |  1988-04-12  |  4.5 KB  |  94 lines

  1. * ------------[ BLED merge (c) Ken Goosens ]-------------
  2. * Merge this against RSB1-CLR.MRG to produce RSB1MODS.MRG
  3. * RSB1-CLR.MRG:  Date 4-12-1988  Size 10383 bytes
  4. * ------------[ Created 04-12-1988 20:06:18 ]------------
  5. * REPLACING old line(s) by new
  6. 9400 CLOSE 5
  7.      IF SHARE.IT THEN _
  8.         OPEN ACTIVE.USER.FILE$ FOR RANDOM SHARED AS #5 LEN=128 _
  9.      ELSE OPEN "R",5,ACTIVE.USER.FILE$,128
  10.      I# = LOF(5)
  11.      LAST.REC = FIX(I#/128)
  12.      FIELD 5,31 AS USER.NAME$, _
  13.              15 AS PASSWORD$, _
  14.               2 AS SECURITY.LEVEL$, _
  15.              14 AS USER.OPTIONS$,  _
  16.              24 AS CITY.STATE$, _
  17. * ------[ first line different ]------
  18.           3 AS MACHINE.TYPE$, _                                    'RATIO
  19.           4 AS TODAY.DL$, _                                        'RATIO
  20.           4 AS TODAY.BYTES$, _                                     'RATIO
  21.           4 AS DL.BYTES$, _                                        'RATIO
  22.           4 AS UL.BYTES$, _                                        'RATIO
  23.              14 AS LAST.DATE.TIME.ON$, _
  24.               3 AS LIST.NEW.DATE$, _
  25.               2 AS USER.DOWNLOADS$, _
  26.               2 AS USER.UPLOADS$, _
  27.               2 AS ELAPSED.TIME$
  28.      FIELD 5,128 AS USER.RECORD$
  29.      END SUB
  30. ' $SUBTITLE: 'FINDUSER - subroutine to search users file for a name'
  31. ' $PAGE
  32. '
  33. '  SUBROUTINE NAME    -- FINDUSER
  34. '
  35. '  INPUT PARAMETERS   --     PARAMETER                    MEANING
  36. '                        HASH.TO.LOOK.FOR$    STRING TO SEARCH FOR IN USERS
  37. '                        INDIV.TO.LOOK.FOR$   STRING TO USE TO INDIVIDUATE
  38. '                                             USERS WITH SAME HASH
  39. '                        START.HASH.POS       WHERE HASH FIELD STARTS IN THE
  40. '                                             "USERS" FILE
  41. '                        LEN.HASH.FIELD       LENGTH OF THE HASH FIELD
  42. '                        START.INDIV.POS      WHERE THE FIELD TO DISTINGUISH
  43. '                                             AMONG USERS (I.E. WITH THE SAME
  44. '                                             NAME) STARTS IN THE "USERS" FILE
  45. '                                             (SET TO 0 IF NONE TO BE USED)
  46. '                        LEN.INDIV.FIELD      LENGTH OF FIELD TO DISTINGUISH
  47. '                                             AMONG USERS
  48. '                        MAX.POSITION         HIGHEST RECORD TO SEARCH OR USE
  49. '
  50. '  NOTE: THIS SUBROUTINE ASSUMES THE "USERS" FILE IS OPEN AS FILE 2.
  51. '
  52. '  OUTPUT PARAMETERS  -- WHETHER.FOUND        SET TO "TRUE" IF USER WAS FOUND
  53. '                                             OTHERWISE IT IS "FALSE"
  54. '                        POS.TO.USE           NUMBER OF THE "USERS" RECORD THAT
  55. '                                             BELONGS TO THE USER (IF FOUND) OR
  56. '                                             TO USE FOR THE USER (IF THE USER
  57. '                                             WASN'T FOUND)
  58. '                        POS.TO.RECLAIM       SET TO 0 IF THE RECORD NUMBER
  59. '                                             SELECTED FOR THIS USER HAS NEVER
  60. '                                             BEEN USED.
  61. '
  62. '  SUBROUTINE PURPOSE -- TO SEARCH THE "USERS" FILE AND DETERMINE THE RECORD
  63. '                        NUMBER TO USE FOR THE CALLER IN THE "USERS" FILE.
  64. '
  65.       SUB FINDUSER (HASH.TO.LOOK.FOR$,INDIV.TO.LOOK.FOR$,START.HASH.POS,_
  66.                     LEN.HASH.FIELD,START.INDIV.POS,LEN.INDIV.FIELD,_
  67.                     MAX.POSITION,WHETHER.FOUND,_
  68.                     POS.TO.USE,POS.TO.RECLAIM) STATIC
  69.       ON ERROR GOTO 65000
  70.       EC = 0
  71.       WHETHER.FOUND = 0
  72.       IF HASH.TO.LOOK.FOR$ = SPACE$(LEN(HASH.TO.LOOK.FOR$)) THEN _
  73.          EXIT SUB
  74.       EMPTY.REC$ = SPACE$(LEN.HASH.FIELD)
  75.       EMPTY.INDIV$ = SPACE$(LEN.INDIV.FIELD)
  76.       NEWUSER$ = LEFT$("NEWUSER  ",LEN.HASH.FIELD + 2)
  77.       FIELD 5, 128 AS FILLER$
  78.       X$ = HASH.TO.LOOK.FOR$ + SPACE$(LEN.HASH.FIELD - LEN(HASH.TO.LOOK.FOR$))
  79.       CALL HASHRBBS (HASH.TO.LOOK.FOR$,MAX.POSITION,POS.TO.USE,DF)
  80.       Y$ = INDIV.TO.LOOK.FOR$ + SPACE$(LEN.INDIV.FIELD - LEN(INDIV.TO.LOOK.FOR$))
  81.       POS.TO.RECLAIM = 0
  82. * ------[ first line different ]------
  83. * REPLACING old line(s) by new
  84. * INSERTING new line(s)
  85. 58280 SUB GETPASWD STATIC
  86.       ON ERROR GOTO 65000
  87.       EC = 0
  88.       INPUT #2,TEMP.PASSWORD$,TEMP.SECURITY.LEVEL, _
  89.                TEMP.TIME.ALLOWED,TEMP.MAX.PER.DAY, _
  90. * ------[ first line different ]------
  91.            TEMP.REG.PERIOD,START.TIME,END.TIME, _                  'RATIO
  92.            BYTE.METHOD,RATIO.RESTRICTON#                           'RATIO
  93.  
  94.